import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
import warnings
import json
import glob
from pathlib import Path
import plotly.express as px
import plotly.graph_objects as go
from ipl_functions import formula_barplot, formula_scatterplot, formula_scatterplot_multiple_data
from ipl_functions import all_players_stats_year, all_players_stats_year_list, season_player_team_stats
from ipl_functions import plot_all_top_5_dict, plot_team_top_5
pd.set_option('display.max_columns', 100)
plt.style.use('dark_background')
warnings.filterwarnings('ignore')
all_data = []
for p in glob.glob('../Data/ipl_json/*.json'):
with open(p) as file:
data = json.load(file)
all_data.append(data)
all_teams = []
for i in all_data:
for j in i['info']['teams']:
if j not in all_teams:
all_teams.append(j)
#all_teams
all_players = []
for i in all_teams:
for j in all_data:
try:
if j['info']['players'][i]:
for k in j['info']['players'][i]:
if k not in all_players:
all_players.append(k)
except:
None
all_cols = ['player_name', 'matches_played', 'innings_batted', 'innings_bowled', 'matches_won', 'runs_scored',
'balls_played', 'batting_avg', 'batting_strike_rate', 'catches', 'run_outs', 'balls_bowled', 'runs_given',
'wickets_taken', 'wickets_per_innings', 'bowling_avg', 'bowling_strike_rate', 'bowling_eco',
'four_scored', 'six_scored', 'four_given', 'six_given', 'extras_for', 'extras_against', 'scores_above_30',
'strike_rate_30', 'multi_wickets', 'man_of_match', 'trophies', 'formula_batter', 'formula_bowler', 'formula_fielder']
all_players_year_df = pd.DataFrame(columns=all_cols)
player_08 = all_players_stats_year(all_players, all_data, all_players_year_df, '2008')
all_players_year_df = pd.DataFrame(columns=all_cols)
player_09 = all_players_stats_year(all_players, all_data, all_players_year_df, '2009')
all_players_year_df = pd.DataFrame(columns=all_cols)
player_10 = all_players_stats_year(all_players, all_data, all_players_year_df, '2010')
all_players_year_df = pd.DataFrame(columns=all_cols)
player_11 = all_players_stats_year(all_players, all_data, all_players_year_df, '2011')
all_players_year_df = pd.DataFrame(columns=all_cols)
player_12 = all_players_stats_year(all_players, all_data, all_players_year_df, '2012')
all_players_year_df = pd.DataFrame(columns=all_cols)
player_13 = all_players_stats_year(all_players, all_data, all_players_year_df, '2013')
all_players_year_df = pd.DataFrame(columns=all_cols)
player_14 = all_players_stats_year(all_players, all_data, all_players_year_df, '2014')
all_players_year_df = pd.DataFrame(columns=all_cols)
player_15 = all_players_stats_year(all_players, all_data, all_players_year_df, '2015')
all_players_year_df = pd.DataFrame(columns=all_cols)
player_16 = all_players_stats_year(all_players, all_data, all_players_year_df, '2016')
all_players_year_df = pd.DataFrame(columns=all_cols)
player_17 = all_players_stats_year(all_players, all_data, all_players_year_df, '2017')
all_players_year_df = pd.DataFrame(columns=all_cols)
player_18 = all_players_stats_year(all_players, all_data, all_players_year_df, '2018')
all_players_year_df = pd.DataFrame(columns=all_cols)
player_19 = all_players_stats_year(all_players, all_data, all_players_year_df, '2019')
all_players_year_df = pd.DataFrame(columns=all_cols)
player_20 = all_players_stats_year(all_players, all_data, all_players_year_df, '2020')
all_players_year_df = pd.DataFrame(columns=all_cols)
player_21 = all_players_stats_year(all_players, all_data, all_players_year_df, '2021')
all_players_year_df = pd.DataFrame(columns=all_cols)
player_22 = all_players_stats_year(all_players, all_data, all_players_year_df, '2022')
all_players_year_df = pd.DataFrame(columns=all_cols)
player_23 = all_players_stats_year(all_players, all_data, all_players_year_df, '2023')
all_players_year_df = pd.DataFrame(columns=all_cols)
player_24 = all_players_stats_year(all_players, all_data, all_players_year_df, '2024')
player_team = {}
for i in all_players:
all_teams_played = []
for j in all_teams:
xy = {}
yy = []
for k in all_data:
for t in k['info']['players'].keys():
if t == j and i in k['info']['players'][t]:
if k['info']['dates'][0][:4] not in yy:
yy.append(k['info']['dates'][0][:4])
xy[t] = yy
if xy:
all_teams_played.append(xy)
#all_teams_played.append(j)
player_team[str(i)] = all_teams_played
import json
with open('player_team_year', 'w') as file:
json.dump(player_team, file)
player_team['R Dravid']
[{'Royal Challengers Bangalore': ['2008', '2009', '2010']},
{'Rajasthan Royals': ['2011', '2012', '2013']}]
#These data frames were parsed in ipl.ipynb
player_df_2010_14 = pd.read_csv('../Data/ipl_all_player_df_2010_14.csv')
player_df_2015_19 = pd.read_csv('../Data/ipl_all_player_df_2015_19.csv')
player_df_2020_24 = pd.read_csv('../Data/ipl_all_player_df_2020_24.csv')
all_players_df = pd.read_csv('../Data/ipl_all_player_df.csv')
formula_scatterplot_multiple_data(player_df_2010_14, player_df_2015_19, player_df_2020_24,
'matches_played', 'runs_scored', 'four_scored', 'matches_played',
['player_name', 'batting_strike_rate', 'matches_won'], '2010-2014', '2015-2019', '2020-2024')
formula_scatterplot_multiple_data(player_df_2010_14, player_df_2015_19, player_df_2020_24,
'runs_scored' , 'runs_scored', 'six_scored', 'matches_played',
['player_name', 'batting_strike_rate', 'matches_won'],'2010-2014', '2015_-2019', '2020-2024')
formula_scatterplot_multiple_data(player_df_2010_14, player_df_2015_19, player_df_2020_24,
'matches_played', 'runs_scored', 'scores_above_30', 'matches_played',
['player_name', 'strike_rate_30', 'matches_won'],'2010-2014', '2015_-2019', '2020-2024')
formula_scatterplot_multiple_data(player_df_2010_14, player_df_2015_19, player_df_2020_24,
'runs_scored', 'matches_played', 'strike_rate_30', 'matches_played',
['player_name', 'batting_strike_rate', 'matches_won'], '2010-2014', '2015_-2019', '2020-2024')
formula_scatterplot_multiple_data(player_df_2010_14, player_df_2015_19, player_df_2020_24,
'wickets_taken', 'matches_played', 'multi_wickets', 'matches_played',
['player_name', 'bowling_eco'], '2010-2014', '2015_-2019', '2020-2024')
formula_scatterplot_multiple_data(player_df_2010_14, player_df_2015_19, player_df_2020_24,
'wickets_taken', 'matches_played', 'four_given', 'innings_bowled',
['player_name', 'bowling_eco'], '2010-2014', '2015_-2019', '2020-2024')
formula_scatterplot_multiple_data(player_df_2010_14, player_df_2015_19, player_df_2020_24,
'wickets_taken', 'matches_played', 'six_given', 'innings_bowled',
['player_name', 'bowling_eco'], '2010-2014', '2015_-2019', '2020-2024')
formula_scatterplot_multiple_data(player_df_2010_14, player_df_2015_19, player_df_2020_24,
'formula_fielder', 'matches_played', 'catches', 'matches_played',
['player_name', 'runs_scored', 'wickets_taken'], '2010-2014', '2015_-2019', '2020-2024')
formula_scatterplot_multiple_data(player_df_2010_14, player_df_2015_19, player_df_2020_24,
'formula_fielder', 'matches_played', 'run_outs', 'matches_played',
'player_name', '2010-2014', '2015_-2019', '2020-2024')
formula_scatterplot_multiple_data(player_df_2010_14, player_df_2015_19, player_df_2020_24,
'man_of_match', 'matches_played', 'man_of_match', 'matches_played',
['player_name', 'runs_scored', 'scores_above_30', 'batting_strike_rate'], '2010-2014', '2015_-2019', '2020-2024')
years = ['2008', '2009', '2010', '2011', '2012', '2013', '2014', '2015',
'2016', '2017', '2018', '2019', '2020', '2021', '2022', '2023',
'2024']
player_years_data = [player_08, player_09, player_10, player_11, player_12,
player_13, player_14, player_15, player_16, player_17,
player_18, player_19, player_20, player_21, player_22,
player_23, player_24]
player_runs_dict = {}
player_sr_dict = {}
player_runs_30_dict = {}
player_sr_30_dict = {}
player_four_scored_dict = {}
player_six_scored_dict = {}
player_wickets_dict = {}
player_multi_wickets_dict = {}
player_bowling_eco_dict = {}
player_bowling_sr_dict = {}
player_four_given_dict = {}
player_six_given_dict = {}
player_catches_dict = {}
player_runouts_dict = {}
player_matches_dict = {}
for i in all_players:
runs = []
sr = []
runs_30 = []
sr_30 = []
four_for = []
six_for = []
wickets = []
multi_wickets = []
bowling_eco = []
bowling_sr = []
four_against = []
six_against = []
catches = []
run_outs = []
matches_played = []
for data in player_years_data:
if i in data['player_name'].tolist():
runs.append(data[data['player_name'] == i]['runs_scored'].values[0])
matches_played.append(data[data['player_name'] == i]['matches_played'].values[0])
sr.append(np.round(data[data['player_name'] == i]['batting_strike_rate'].values[0], 2))
runs_30.append(data[data['player_name'] == i]['scores_above_30'].values[0])
sr_30.append(np.round(data[data['player_name'] == i]['strike_rate_30'].values[0], 2))
four_for.append(data[data['player_name'] == i]['four_scored'].values[0])
six_for.append(data[data['player_name'] == i]['six_scored'].values[0])
wickets.append(data[data['player_name'] == i]['wickets_taken'].values[0])
multi_wickets.append(data[data['player_name'] == i]['multi_wickets'].values[0])
bowling_eco.append(np.round(data[data['player_name'] == i]['bowling_eco'].values[0], 2))
bowling_sr.append(np.round(data[data['player_name'] == i]['bowling_strike_rate'].values[0], 2))
four_against.append(data[data['player_name'] == i]['four_given'].values[0])
six_against.append(data[data['player_name'] == i]['six_given'].values[0])
catches.append(data[data['player_name'] == i]['catches'].values[0])
run_outs.append(data[data['player_name'] == i]['run_outs'].values[0])
player_runs_dict[i] = runs
player_matches_dict[i] = matches_played
player_sr_dict[i] = sr
player_runs_30_dict[i] = runs_30
player_sr_30_dict[i] = sr_30
player_four_scored_dict[i] = four_for
player_six_scored_dict[i] = six_for
player_wickets_dict[i] = wickets
player_multi_wickets_dict[i] = multi_wickets
player_bowling_eco_dict[i] = bowling_eco
player_bowling_sr_dict[i] = bowling_sr
player_four_given_dict[i] = four_against
player_six_given_dict[i] = six_against
player_catches_dict[i] = catches
player_runouts_dict[i] = run_outs
winning_years_team = {}
for player in all_players:
winner = []
for i in all_teams:
for game in all_data:
try:
if player in game['info']['players'][i]:
try:
if game['info']['event']['stage'] == 'Final' and game['info']['outcome']['winner'] == i:
winner.append(game['info']['dates'][0][:4])
except:
None
except:
None
winning_years_team[player] = winner
team_player_stats_2008 = season_player_team_stats(all_data, all_teams, all_players, all_teams, year='2008')
team_player_stats_2009 = season_player_team_stats(all_data, all_teams, all_players, all_teams, year='2009')
team_player_stats_2010 = season_player_team_stats(all_data, all_teams, all_players, all_teams, year='2010')
team_player_stats_2011 = season_player_team_stats(all_data, all_teams, all_players, all_teams, year='2011')
team_player_stats_2012 = season_player_team_stats(all_data, all_teams, all_players, all_teams, year='2012')
team_player_stats_2013 = season_player_team_stats(all_data, all_teams, all_players, all_teams, year='2013')
team_player_stats_2014 = season_player_team_stats(all_data, all_teams, all_players, all_teams, year='2014')
team_player_stats_2015 = season_player_team_stats(all_data, all_teams, all_players, all_teams, year='2015')
team_player_stats_2016 = season_player_team_stats(all_data, all_teams, all_players, all_teams, year='2016')
team_player_stats_2017 = season_player_team_stats(all_data, all_teams, all_players, all_teams, year='2017')
team_player_stats_2018 = season_player_team_stats(all_data, all_teams, all_players, all_teams, year='2018')
team_player_stats_2019 = season_player_team_stats(all_data, all_teams, all_players, all_teams, year='2019')
team_player_stats_2020 = season_player_team_stats(all_data, all_teams, all_players, all_teams, year='2020')
team_player_stats_2021 = season_player_team_stats(all_data, all_teams, all_players, all_teams, year='2021')
team_player_stats_2022 = season_player_team_stats(all_data, all_teams, all_players, all_teams, year='2022')
team_player_stats_2023 = season_player_team_stats(all_data, all_teams, all_players, all_teams, year='2023')
team_player_stats_2024 = season_player_team_stats(all_data, all_teams, all_players, all_teams, year='2024')
all_team_player_stats = [team_player_stats_2008, team_player_stats_2009, team_player_stats_2010,
team_player_stats_2011, team_player_stats_2012, team_player_stats_2013,
team_player_stats_2014, team_player_stats_2015, team_player_stats_2016,
team_player_stats_2017, team_player_stats_2018, team_player_stats_2019,
team_player_stats_2020, team_player_stats_2021, team_player_stats_2022,
team_player_stats_2023, team_player_stats_2024]
def top_5_performers_all_team(team_player_stats, sortby='total_runs'):
'''
A function which takes a dictionary of team_player stats,
team name and returns the best players in the team for the season,
most runs, most wickets, most catches, dot_balls, most 4s, 6s.
'''
return_dict = {}
for team in team_player_stats.keys():
return_dict[team] = [k for k, v in sorted(team_player_stats[team].items(), key=lambda item: item[1][sortby], reverse=True)][:5]
return return_dict
top_5_runs_scored_2008 = top_5_performers_all_team(team_player_stats_2008)
top_5_wickets_2008 = top_5_performers_all_team(team_player_stats_2008, sortby='total_wickets')
top_5_catches_2008 = top_5_performers_all_team(team_player_stats_2008, sortby='total_catches')
top_5_runs_given_2008 = top_5_performers_all_team(team_player_stats_2008, sortby='total_runs_given')
top_5_dot_balls_2008 = top_5_performers_all_team(team_player_stats_2008, sortby='total_dot_balls_bowled')
top_5_four_for_2008 = top_5_performers_all_team(team_player_stats_2008, sortby='total_four_for')
top_5_six_for_2008 = top_5_performers_all_team(team_player_stats_2008, sortby='total_six_for')
plot_team_top_5(top_5_runs_scored_2008, team_player_stats_2008,'Mumbai Indians', yval='runs')
plot_team_top_5(top_5_wickets_2008, team_player_stats_2008, 'Mumbai Indians', yval='wickets')
plot_team_top_5(top_5_runs_scored_2008, team_player_stats_2008,'Chennai Super Kings', yval='runs')
plot_team_top_5(top_5_wickets_2008, team_player_stats_2008, 'Chennai Super Kings', yval='wickets')
plot_team_top_5(top_5_runs_scored_2008, team_player_stats_2008,'Kolkata Knight Riders', yval='runs')
plot_team_top_5(top_5_wickets_2008, team_player_stats_2008, 'Kolkata Knight Riders', yval='wickets')
plot_team_top_5(top_5_runs_scored_2008, team_player_stats_2008,'Rajasthan Royals', yval='runs')
plot_team_top_5(top_5_wickets_2008, team_player_stats_2008, 'Rajasthan Royals', yval='wickets')
plot_team_top_5(top_5_runs_scored_2008, team_player_stats_2008,'Delhi Daredevils', yval='runs')
plot_team_top_5(top_5_wickets_2008, team_player_stats_2008, 'Delhi Daredevils', yval='wickets')
plot_team_top_5(top_5_runs_scored_2008, team_player_stats_2008,'Kings XI Punjab', yval='runs')
plot_team_top_5(top_5_wickets_2008, team_player_stats_2008, 'Kings XI Punjab', yval='wickets')
plot_team_top_5(top_5_runs_scored_2008, team_player_stats_2008,'Deccan Chargers', yval='runs')
plot_team_top_5(top_5_wickets_2008, team_player_stats_2008, 'Deccan Chargers', yval='wickets')
plot_team_top_5(top_5_runs_scored_2008, team_player_stats_2008,'Royal Challengers Bangalore', yval='runs')
plot_team_top_5(top_5_wickets_2008, team_player_stats_2008, 'Royal Challengers Bangalore', yval='wickets')
top_5_runs_scored_2016 = top_5_performers_all_team(team_player_stats_2016)
top_5_wickets_2016 = top_5_performers_all_team(team_player_stats_2016, sortby='total_wickets')
top_5_catches_20016 = top_5_performers_all_team(team_player_stats_2016, sortby='total_catches')
top_5_runs_given_2016 = top_5_performers_all_team(team_player_stats_2016, sortby='total_runs_given')
top_5_dot_balls_2016 = top_5_performers_all_team(team_player_stats_2016, sortby='total_dot_balls_bowled')
top_5_four_for_2016 = top_5_performers_all_team(team_player_stats_2016, sortby='total_four_for')
top_5_six_for_2016 = top_5_performers_all_team(team_player_stats_2016, sortby='total_six_for')
player_16.head()
| player_name | matches_played | innings_batted | innings_bowled | matches_won | runs_scored | balls_played | batting_avg | batting_strike_rate | catches | run_outs | balls_bowled | runs_given | wickets_taken | wickets_per_innings | bowling_avg | bowling_strike_rate | bowling_eco | four_scored | six_scored | four_given | six_given | extras_for | extras_against | scores_above_30 | strike_rate_30 | multi_wickets | man_of_match | trophies | formula_batter | formula_bowler | formula_fielder | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | DA Warner | 17 | 17 | 0 | 11 | 848 | 579 | 49.882353 | 146.459413 | 4 | 0 | 0 | 0 | 0 | 0.0 | 0.0 | 0.0 | 0.0 | 88 | 31 | 0 | 0 | 36 | 0 | 16 | 157.743503 | 0 | 3 | 1 | 2692.778403 | 0.0 | 7 |
| 1 | S Dhawan | 17 | 17 | 0 | 11 | 501 | 438 | 29.470588 | 114.383562 | 5 | 1 | 0 | 0 | 0 | 0.0 | 0.0 | 0.0 | 0.0 | 51 | 8 | 0 | 0 | 22 | 0 | 12 | 118.780377 | 0 | 0 | 1 | 1513.835111 | 0.0 | 6 |
| 2 | MC Henriques | 17 | 15 | 17 | 11 | 182 | 162 | 12.133333 | 112.345679 | 11 | 3 | 318 | 409 | 12 | 0.705882 | 34.083333 | 26.5 | 7.716981 | 15 | 6 | 29 | 16 | 7 | 9 | 4 | 184.52381 | 3 | 1 | 1 | 771.228571 | 15.705882 | 15 |
| 3 | Yuvraj Singh | 10 | 10 | 5 | 7 | 236 | 183 | 23.6 | 128.961749 | 1 | 1 | 38 | 51 | 0 | 0.0 | 0.0 | 0.0 | 8.052632 | 22 | 13 | 2 | 2 | 6 | 1 | 7 | 156.219662 | 0 | 0 | 1 | 1152.137634 | 0.0 | 2 |
| 4 | DJ Hooda | 17 | 15 | 6 | 11 | 144 | 125 | 9.6 | 115.2 | 3 | 2 | 80 | 94 | 3 | 0.5 | 31.333333 | 26.666667 | 7.05 | 9 | 5 | 6 | 3 | 7 | 3 | 1 | 154.545455 | 1 | 0 | 1 | 178.145455 | 4.5 | 5 |
plot_team_top_5(top_5_runs_scored_2016, team_player_stats_2016,'Mumbai Indians', yval='runs')
plot_team_top_5(top_5_wickets_2016, team_player_stats_2016, 'Mumbai Indians', yval='wickets')
plot_team_top_5(top_5_runs_scored_2016, team_player_stats_2016,'Chennai Super Kings', yval='runs')
plot_team_top_5(top_5_wickets_2016, team_player_stats_2016, 'Chennai Super Kings', yval='wickets')
plot_team_top_5(top_5_runs_scored_2016, team_player_stats_2016,'Kolkata Knight Riders', yval='runs')
plot_team_top_5(top_5_wickets_2016, team_player_stats_2016, 'Kolkata Knight Riders', yval='wickets')
plot_team_top_5(top_5_runs_scored_2016, team_player_stats_2016,'Rajasthan Royals', yval='runs')
plot_team_top_5(top_5_wickets_2016, team_player_stats_2016, 'Rajasthan Royals', yval='wickets')
plot_team_top_5(top_5_runs_scored_2016, team_player_stats_2016,'Royal Challengers Bangalore', yval='runs')
plot_team_top_5(top_5_wickets_2016, team_player_stats_2016, 'Royal Challengers Bangalore', yval='wickets')
plot_team_top_5(top_5_runs_scored_2016, team_player_stats_2016,'Sunrisers Hyderabad', yval='runs')
plot_team_top_5(top_5_wickets_2016, team_player_stats_2016, 'Sunrisers Hyderabad', yval='wickets')
plot_team_top_5(top_5_runs_scored_2016, team_player_stats_2016,'Delhi Daredevils', yval='runs')
plot_team_top_5(top_5_wickets_2016, team_player_stats_2016, 'Delhi Daredevils', yval='wickets')
plot_team_top_5(top_5_runs_scored_2016, team_player_stats_2016,'Kings XI Punjab', yval='runs')
plot_team_top_5(top_5_wickets_2016, team_player_stats_2016, 'Kings XI Punjab', yval='wickets')
top_5_runs_scored_2024 = top_5_performers_all_team(team_player_stats_2024)
top_5_wickets_2024 = top_5_performers_all_team(team_player_stats_2024, sortby='total_wickets')
top_5_catches_20024 = top_5_performers_all_team(team_player_stats_2024, sortby='total_catches')
top_5_runs_given_2024 = top_5_performers_all_team(team_player_stats_2024, sortby='total_runs_given')
top_5_dot_balls_2024 = top_5_performers_all_team(team_player_stats_2024, sortby='total_dot_balls_bowled')
top_5_four_for_2024 = top_5_performers_all_team(team_player_stats_2024, sortby='total_four_for')
top_5_six_for_2024 = top_5_performers_all_team(team_player_stats_2024, sortby='total_six_for')
player_24.head()
| player_name | matches_played | innings_batted | innings_bowled | matches_won | runs_scored | balls_played | batting_avg | batting_strike_rate | catches | run_outs | balls_bowled | runs_given | wickets_taken | wickets_per_innings | bowling_avg | bowling_strike_rate | bowling_eco | four_scored | six_scored | four_given | six_given | extras_for | extras_against | scores_above_30 | strike_rate_30 | multi_wickets | man_of_match | trophies | formula_batter | formula_bowler | formula_fielder | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | DA Warner | 8 | 8 | 0 | 2 | 168 | 130 | 21.0 | 129.230769 | 5 | 0 | 0 | 0 | 0 | 0.0 | 0.0 | 0.0 | 0.0 | 17 | 10 | 0 | 0 | 13 | 0 | 3 | 147.086835 | 0 | 0 | 0 | 489.260504 | 0.0 | 5 |
| 1 | S Dhawan | 5 | 5 | 0 | 2 | 152 | 125 | 30.4 | 121.6 | 3 | 0 | 0 | 0 | 0 | 0.0 | 0.0 | 0.0 | 0.0 | 18 | 4 | 0 | 0 | 6 | 0 | 3 | 125.614035 | 0 | 0 | 0 | 429.242105 | 0.0 | 3 |
| 2 | MC Henriques | 0 | 0 | 0 | 0 | 0 | 0 | 0.0 | 0.0 | 0 | 0 | 0 | 0 | 0 | 0.0 | 0.0 | 0.0 | 0.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | NaN | 0 | 0 | 0 | NaN | 0.0 | 0 |
| 3 | Yuvraj Singh | 0 | 0 | 0 | 0 | 0 | 0 | 0.0 | 0.0 | 0 | 0 | 0 | 0 | 0 | 0.0 | 0.0 | 0.0 | 0.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | NaN | 0 | 0 | 0 | NaN | 0.0 | 0 |
| 4 | DJ Hooda | 11 | 9 | 2 | 4 | 145 | 107 | 16.111111 | 135.514019 | 4 | 0 | 19 | 21 | 0 | 0.0 | 0.0 | 0.0 | 6.631579 | 16 | 3 | 2 | 0 | 6 | 1 | 2 | 156.25 | 0 | 0 | 0 | 347.611111 | 0.0 | 4 |
plot_team_top_5(top_5_runs_scored_2024, team_player_stats_2024,'Kolkata Knight Riders', yval='runs')
plot_team_top_5(top_5_wickets_2024, team_player_stats_2024, 'Kolkata Knight Riders', yval='wickets')
plot_team_top_5(top_5_runs_scored_2024, team_player_stats_2024,'Chennai Super Kings', yval='runs')
plot_team_top_5(top_5_wickets_2024, team_player_stats_2024, 'Chennai Super Kings', yval='wickets')
plot_team_top_5(top_5_runs_scored_2024, team_player_stats_2024,'Mumbai Indians', yval='runs')
plot_team_top_5(top_5_wickets_2024, team_player_stats_2024, 'Mumbai Indians', yval='wickets')
plot_team_top_5(top_5_runs_scored_2024, team_player_stats_2024,'Rajasthan Royals', yval='runs')
plot_team_top_5(top_5_wickets_2024, team_player_stats_2024, 'Rajasthan Royals', yval='wickets')
plot_team_top_5(top_5_runs_scored_2024, team_player_stats_2024,'Royal Challengers Bengaluru', yval='runs')
plot_team_top_5(top_5_wickets_2024, team_player_stats_2024, 'Royal Challengers Bengaluru', yval='wickets')
plot_team_top_5(top_5_runs_scored_2024, team_player_stats_2024,'Sunrisers Hyderabad', yval='runs')
plot_team_top_5(top_5_wickets_2024, team_player_stats_2024, 'Sunrisers Hyderabad', yval='wickets')
plot_team_top_5(top_5_runs_scored_2024, team_player_stats_2024,'Delhi Capitals', yval='runs')
plot_team_top_5(top_5_wickets_2024, team_player_stats_2024, 'Delhi Capitals', yval='wickets')
plot_team_top_5(top_5_runs_scored_2024, team_player_stats_2024, 'Punjab Kings', yval='runs')
plot_team_top_5(top_5_wickets_2024, team_player_stats_2024, 'Punjab Kings', yval='wickets')
#player_df['formula_batter'] = ((player_df['four_scored'] + player_df['six_scored'] + player_df['batting_avg']) + (player_df['scores_above_30'] * player_df['strike_rate_30']))
#player_df['formula_bowler'] = ((player_df['wickets_taken'] + player_df['multi_wickets']) + (player_df['wickets_taken']/player_df['matches_played']))
#player_df['formula_fielder'] = (player_df['man_of_match'] + player_df['catches'] + player_df['run_outs'])
top_20_2010_14_bat = player_df_2010_14.sort_values('formula_batter', ascending=False).head(20)['player_name']
top_20_2015_19_bat = player_df_2015_19.sort_values('formula_batter', ascending=False).head(20)['player_name']
top_20_2020_24_bat = player_df_2020_24.sort_values('formula_batter', ascending=False).head(20)['player_name']
top_20_2010_14_bowl = player_df_2010_14.sort_values('formula_bowler', ascending=False).head(20)['player_name']
top_20_2015_19_bowl = player_df_2015_19.sort_values('formula_bowler', ascending=False).head(20)['player_name']
top_20_2020_24_bowl = player_df_2020_24.sort_values('formula_bowler', ascending=False).head(20)['player_name']
top_20_2010_14_field = player_df_2010_14.sort_values('formula_fielder', ascending=False).head(20)['player_name']
top_20_2015_19_field = player_df_2015_19.sort_values('formula_fielder', ascending=False).head(20)['player_name']
top_20_2020_24_field = player_df_2020_24.sort_values('formula_fielder', ascending=False).head(20)['player_name']
for player in top_20_2010_14_bat[:10]:
#print(type(player))
try:
fig = px.scatter(player_runs_dict, y=str(player), x=years, hover_data=[player_sr_dict[player], player_matches_dict[player]])
fig.add_trace(go.Scatter(x=winning_years_team[str(player)],
mode='markers', name='winning_year'))
#fig.update_traces(hovertext=player_sr_dict[player])
fig.update_layout(xaxis_title='years', title='2010-2014')
fig.show()
except Exception as e:
print(str(e))
for player in top_20_2015_19_bat[:10]:
#print(type(player))
try:
fig = px.scatter(player_runs_dict, y=str(player), x=years, hover_data=[player_sr_dict[player], player_matches_dict[player]])
fig.add_trace(go.Scatter(x=winning_years_team[str(player)],
mode='markers', name='winning_year'))
#fig.update_traces(hovertext=player_sr_dict[player])
fig.update_layout(xaxis_title='years', title='2015-2019')
fig.show()
except Exception as e:
print(str(e))
for player in top_20_2020_24_bat[:10]:
#print(type(player))
try:
fig = px.scatter(player_runs_dict, y=str(player), x=years, hover_data=[player_sr_dict[player], player_matches_dict[player]])
fig.add_trace(go.Scatter(x=winning_years_team[str(player)],
mode='markers', name='winning_year'))
#fig.update_traces(hovertext=player_sr_dict[player])
fig.update_layout(xaxis_title='years', title='2020-2024')
fig.show()
except Exception as e:
print(str(e))
for player in top_20_2010_14_bowl[:10]:
#print(type(player))
try:
fig = px.scatter(player_wickets_dict, y=str(player), x=years, hover_data=[player_bowling_eco_dict[player], player_matches_dict[player]])
fig.add_trace(go.Scatter(x=winning_years_team[str(player)],
mode='markers', name='winning_year'))
#fig.update_traces(hovertext=player_sr_dict[player])
fig.update_layout(xaxis_title='years', title='2010-2014')
fig.show()
except Exception as e:
print(str(e))
for player in top_20_2015_19_bowl[:10]:
#print(type(player))
try:
fig = px.scatter(player_wickets_dict, y=str(player), x=years, hover_data=[player_bowling_eco_dict[player], player_matches_dict[player]])
fig.add_trace(go.Scatter(x=winning_years_team[str(player)],
mode='markers', name='winning_year'))
#fig.update_traces(hovertext=player_sr_dict[player])
fig.update_layout(xaxis_title='years', title='2015-2019')
fig.show()
except Exception as e:
print(str(e))
for player in top_20_2020_24_bowl[:10]:
#print(type(player))
try:
fig = px.scatter(player_wickets_dict, y=str(player), x=years, hover_data=[player_bowling_eco_dict[player], player_matches_dict[player]])
fig.add_trace(go.Scatter(x=winning_years_team[str(player)],
mode='markers', name='winning_year'))
#fig.update_traces(hovertext=player_sr_dict[player])
fig.update_layout(xaxis_title='years', title='2020-2024')
fig.show()
except Exception as e:
print(str(e))
for player in top_20_2010_14_field[:10]:
#print(type(player))
try:
fig = px.scatter(player_catches_dict, y=str(player), x=years, hover_data=[player_runouts_dict[player], player_matches_dict[player]])
fig.add_trace(go.Scatter(x=winning_years_team[str(player)],
mode='markers', name='winning_year'))
#fig.update_traces(hovertext=player_sr_dict[player])
fig.update_layout(xaxis_title='years', title='2010-2014')
fig.show()
except Exception as e:
print(str(e))
for player in top_20_2015_19_field[:10]:
#print(type(player))
try:
fig = px.scatter(player_catches_dict, y=str(player), x=years, hover_data=[player_runouts_dict[player], player_matches_dict[player]])
fig.add_trace(go.Scatter(x=winning_years_team[str(player)],
mode='markers', name='winning_year'))
#fig.update_traces(hovertext=player_sr_dict[player])
fig.update_layout(xaxis_title='years', title='2015-2019')
fig.show()
except Exception as e:
print(str(e))
for player in top_20_2020_24_field[:10]:
#print(type(player))
try:
fig = px.scatter(player_catches_dict, y=str(player), x=years, hover_data=[player_runouts_dict[player], player_matches_dict[player]])
fig.add_trace(go.Scatter(x=winning_years_team[str(player)],
mode='markers', name='winning_year'))
#fig.update_traces(hovertext=player_sr_dict[player])
fig.update_layout(xaxis_title='years', title='2020-2024')
fig.show()
except Exception as e:
print(str(e))
all_mi = []
all_csk = []
all_hyd = []
all_rcb = []
all_pk = []
all_rr = []
all_dd = []
all_kkr = []
all_gt = []
all_lsg = []
for i in all_data:
for j in i['info']['teams']:
if j == 'Mumbai Indians':
all_mi.append(i)
for i in all_data:
for j in i['info']['teams']:
if j in ['Sunrisers Hyderabad', 'Deccan Chargers']:
all_hyd.append(i)
for i in all_data:
for j in i['info']['teams']:
if j == 'Royal Challengers Bangalore':
all_rcb.append(i)
for i in all_data:
for j in i['info']['teams']:
if j == 'Chennai Super Kings':
all_csk.append(i)
for i in all_data:
for j in i['info']['teams']:
if j in ['Punjab Kings', 'Kings XI Punjab']:
all_pk.append(i)
for i in all_data:
for j in i['info']['teams']:
if j == 'Rajasthan Royals':
all_rr.append(i)
for i in all_data:
for j in i['info']['teams']:
if j in ['Delhi Daredevils', 'Delhi Capitals']:
all_dd.append(i)
for i in all_data:
for j in i['info']['teams']:
if j == 'Kolkata Knight Riders':
all_kkr.append(i)
for i in all_data:
for j in i['info']['teams']:
if j == 'Gujarat Titans':
all_gt.append(i)
for i in all_data:
for j in i['info']['teams']:
if j == 'Lucknow Super Giants':
all_lsg.append(i)
winning_years = {}
losing_years = {}
for team in all_teams:
winners = []
losers = []
for data in all_data:
try:
if data['info']['event']['stage'] == 'Final' and data['info']['outcome']['winner'] == team:
winners.append(data['info']['dates'][0][:4])
except:
None
try:
if data['info']['event']['stage'] == 'Final' and data['info']['outcome']['winner'] != team:
losers.append(data['info']['dates'][0][:4])
except:
None
winning_years[team] = winners
losing_years[team] = losers
winning_years
{'Sunrisers Hyderabad': ['2016'],
'Royal Challengers Bangalore': [],
'Rising Pune Supergiant': [],
'Mumbai Indians': ['2017', '2019', '2020', '2013', '2015'],
'Gujarat Lions': [],
'Kolkata Knight Riders': ['2024', '2012', '2014'],
'Kings XI Punjab': [],
'Delhi Daredevils': [],
'Chennai Super Kings': ['2018', '2021', '2023', '2010', '2011'],
'Rajasthan Royals': ['2008'],
'Delhi Capitals': [],
'Punjab Kings': [],
'Lucknow Super Giants': [],
'Gujarat Titans': ['2022'],
'Royal Challengers Bengaluru': [],
'Deccan Chargers': ['2009'],
'Kochi Tuskers Kerala': [],
'Pune Warriors': [],
'Rising Pune Supergiants': []}
winning_years['Sunrisers Hyderabad'].append('2009')
all_cols = ['player_name', 'matches_played', 'innings_batted', 'innings_bowled', 'matches_won', 'runs_scored',
'balls_played', 'batting_avg', 'batting_strike_rate', 'catches', 'run_outs', 'balls_bowled', 'runs_given',
'wickets_taken', 'wickets_per_innings', 'bowling_avg', 'bowling_strike_rate', 'bowling_eco',
'four_scored', 'six_scored', 'four_given', 'six_given', 'extras_for', 'extras_against', 'scores_above_30',
'strike_rate_30', 'multi_wickets', 'man_of_match', 'trophies', 'formula_batter', 'formula_bowler', 'formula_fielder']
all_players_year_df = pd.DataFrame(columns=all_cols)
mi_winning_player_stats = all_players_stats_year_list(all_players, all_data, all_players_year_df, winning_years['Mumbai Indians'])
#mi_winning_player_stats = mi_winning_player_stats[mi_winning_player_stats['matches_played'] != 0 ]
all_players_year_df = pd.DataFrame(columns=all_cols)
csk_winning_player_stats = all_players_stats_year_list(all_players, all_data, all_players_year_df, winning_years['Chennai Super Kings'])
#csk_winning_player_stats = csk_winning_player_stats[csk_winning_player_stats['matches_played'] != 0 ]
all_players_year_df = pd.DataFrame(columns=all_cols)
kkr_winning_player_stats = all_players_stats_year_list(all_players, all_data, all_players_year_df, winning_years['Kolkata Knight Riders'])
#kkr_winning_player_stats = kkr_winning_player_stats[kkr_winning_player_stats['matches_played'] != 0 ]
all_players_year_df = pd.DataFrame(columns=all_cols)
rr_winning_player_stats = all_players_stats_year_list(all_players, all_data, all_players_year_df, winning_years['Rajasthan Royals'])
#srh_winning_player_stats = srh_winning_player_stats[srh_winning_player_stats['matches_played'] != 0 ]
all_players_year_df = pd.DataFrame(columns=all_cols)
gt_winning_player_stats = all_players_stats_year_list(all_players, all_data, all_players_year_df, winning_years['Gujarat Titans'])
#gt_winning_player_stats = gt_winning_player_stats[gt_winning_player_stats['matches_played'] != 0 ]
player_team['KA Pollard']
[{'Mumbai Indians': ['2017',
'2018',
'2019',
'2020',
'2021',
'2022',
'2010',
'2011',
'2012',
'2013',
'2014',
'2015',
'2016']}]
winning_years['Mumbai Indians']
['2017', '2019', '2020', '2013', '2015']
formula_scatterplot(mi_winning_player_stats, 'formula_batter', 'runs_scored',
'scores_above_30', 'batting_strike_rate', 'strike_rate_30',
'six_scored', 'matches_played', ['player_name', 'innings_batted', 'runs_scored', 'scores_above_30'])
player_team['PA Patel']
[{'Sunrisers Hyderabad': ['2013']},
{'Royal Challengers Bangalore': ['2018', '2019', '2014']},
{'Mumbai Indians': ['2017', '2015', '2016']},
{'Chennai Super Kings': ['2008', '2009', '2010']},
{'Deccan Chargers': ['2012']},
{'Kochi Tuskers Kerala': ['2011']}]
formula_scatterplot(mi_winning_player_stats, 'formula_bowler', 'wickets_taken',
'bowling_eco', 'wickets_taken', 'six_given',
'multi_wickets', 'matches_played', ['player_name', 'innings_bowled', 'bowling_eco'])
mi_years_around_wins = ['2012', '2014', '2016', '2018', '2021']
mi_winning_player_stats_2012_14_16_18_21 = all_players_stats_year_list(all_players, all_data, all_players_year_df, mi_years_around_wins)
formula_scatterplot(mi_winning_player_stats_2012_14_16_18_21, 'formula_batter', 'runs_scored',
'scores_above_30', 'batting_strike_rate', 'strike_rate_30',
'six_scored', 'matches_played', ['player_name', 'innings_batted', 'runs_scored', 'scores_above_30'])
player_team['GJ Maxwell']
[{'Royal Challengers Bangalore': ['2021', '2022', '2023']},
{'Mumbai Indians': ['2013']},
{'Kings XI Punjab': ['2017', '2020', '2014', '2015', '2016']},
{'Delhi Daredevils': ['2018', '2012']},
{'Royal Challengers Bengaluru': ['2024']}]
formula_scatterplot(mi_winning_player_stats_2012_14_16_18_21, 'formula_bowler', 'wickets_taken',
'bowling_eco', 'wickets_taken', 'six_given',
'multi_wickets', 'matches_played', ['player_name', 'innings_bowled', 'bowling_eco'])
winning_years['Chennai Super Kings']
['2018', '2021', '2023', '2010', '2011']
csk_years_around_wins = ['2012', '2013', '2014', '2015', '2016']
csk_winning_player_stats_2012_13_14_15_16 = all_players_stats_year_list(all_players, all_data, all_players_year_df, csk_years_around_wins)
formula_scatterplot(csk_winning_player_stats, 'formula_batter', 'runs_scored',
'scores_above_30', 'batting_strike_rate', 'strike_rate_30',
'six_scored', 'matches_played', ['player_name', 'innings_batted', 'batting_strike_rate', 'runs_scored', 'scores_above_30'])
formula_scatterplot(csk_winning_player_stats, 'formula_bowler', 'wickets_taken',
'bowling_eco', 'wickets_taken', 'six_given',
'multi_wickets', 'matches_played', ['player_name', 'innings_bowled', 'bowling_eco',
'wickets_taken'])
formula_scatterplot(csk_winning_player_stats_2012_13_14_15_16, 'formula_batter', 'runs_scored',
'scores_above_30', 'batting_strike_rate', 'strike_rate_30',
'six_scored', 'matches_played', ['player_name', 'innings_batted', 'runs_scored', 'scores_above_30'])
player_team['SR Watson']
[{'Royal Challengers Bangalore': ['2017', '2016']},
{'Chennai Super Kings': ['2018', '2019', '2020']},
{'Rajasthan Royals': ['2008',
'2010',
'2011',
'2012',
'2013',
'2014',
'2015']}]
formula_scatterplot(csk_winning_player_stats_2012_13_14_15_16, 'formula_bowler', 'wickets_taken',
'bowling_eco', 'wickets_taken', 'six_given',
'multi_wickets', 'matches_played', ['player_name', 'innings_bowled', 'bowling_eco',
'wickets_taken'])
player_team['Harbhajan Singh']
[{'Mumbai Indians': ['2017',
'2008',
'2009',
'2010',
'2011',
'2012',
'2013',
'2014',
'2015',
'2016']},
{'Kolkata Knight Riders': ['2021']},
{'Chennai Super Kings': ['2018', '2019']}]
winning_years['Kolkata Knight Riders']
['2024', '2012', '2014']
formula_scatterplot(kkr_winning_player_stats, 'formula_batter', 'runs_scored',
'scores_above_30', 'batting_strike_rate', 'runs_scored',
'six_scored', 'matches_played', ['player_name', 'innings_batted', 'runs_scored', 'scores_above_30'])
formula_scatterplot(kkr_winning_player_stats, 'formula_bowler', 'wickets_taken',
'bowling_eco', 'wickets_taken', 'six_given',
'multi_wickets', 'matches_played', ['player_name', 'innings_bowled', 'bowling_eco',
'wickets_taken'])
winning_years['Rajasthan Royals']
['2008']
formula_scatterplot(rr_winning_player_stats, 'formula_batter', 'runs_scored',
'scores_above_30', 'batting_strike_rate', 'runs_scored',
'six_scored', 'matches_played', ['player_name', 'innings_batted', 'runs_scored', 'scores_above_30'])
formula_scatterplot(rr_winning_player_stats, 'formula_bowler', 'wickets_taken',
'bowling_eco', 'wickets_taken', 'six_given',
'multi_wickets', 'matches_played', ['player_name', 'innings_bowled', 'bowling_eco',
'wickets_taken'])
winning_years['Gujarat Titans']
['2022']
formula_scatterplot(gt_winning_player_stats, 'formula_batter', 'runs_scored',
'scores_above_30', 'batting_strike_rate', 'runs_scored',
'six_scored', 'matches_played', ['player_name', 'innings_batted','batting_strike_rate', 'runs_scored', 'scores_above_30'])
formula_scatterplot(gt_winning_player_stats, 'formula_bowler', 'wickets_taken',
'bowling_eco', 'wickets_taken', 'six_given',
'multi_wickets', 'matches_played', ['player_name', 'innings_bowled', 'bowling_eco',
'wickets_taken'])
venue_data = []
venue_dict = {}
for data in all_data:
venue_data.append(data['info']['venue'])
venue_data = np.unique(venue_data)
for venue in venue_data:
runs_team_1 = []
runs_team_2 = []
wickets_team_1 = []
wickets_team_2 = []
boundaries_team_1 = []
boundaries_team_2 = []
runs_team_1_dict = {}
runs_team_2_dict = {}
wickets_team_1_dict = {}
wickets_team_2_dict = {}
boundaries_1_dict = {}
boundaries_2_dict = {}
for data in all_data:
runs_team1 = 0
runs_team2 = 0
wickets_team1 = 0
wickets_team2 = 0
boundaries_1 = 0
boundaries_2 = 0
#for team in all_teams:
if venue == data['info']['venue'].split(',')[0]:
#inning = 0
for over in data['innings'][0]['overs']:
for delivery in over['deliveries']:
runs_team1 += delivery['runs']['total']
try:
if delivery['wickets']:
wickets_team1 += 1
except:
None
try:
if delivery['runs']['batter'] == 4: boundaries_1 += 1
elif delivery['runs']['batter'] == 6: boundaries_1 += 1
except:
None
runs_team_1.append(runs_team1)
wickets_team_1.append(wickets_team1)
boundaries_team_1.append(boundaries_1)
runs_team_1_dict['runs_team1'] = runs_team_1
wickets_team_1_dict['wickets_team_1'] = wickets_team_1
boundaries_1_dict['boundaries_1'] = boundaries_team_1
try:
for over in data['innings'][1]['overs']:
for delivery in over['deliveries']:
runs_team2 += delivery['runs']['total']
try:
if delivery['wickets']:
wickets_team2 += 1
except:
None
try:
if delivery['runs']['batter'] == 4: boundaries_2 += 1
elif delivery['runs']['batter'] == 6: boundaries_2 += 1
except:
None
runs_team_2.append(runs_team2)
wickets_team_2.append(wickets_team2)
boundaries_team_2.append(boundaries_2)
runs_team_2_dict['runs_team2'] = runs_team_2
wickets_team_2_dict['wickets_team_2'] = wickets_team_2
boundaries_2_dict['boundaries_2'] = boundaries_team_2
except:
runs_team_2.append(0)
wickets_team_2.append(0)
boundaries_team_2.append(0)
runs_team_2_dict['runs_team2'] = runs_team_2
wickets_team_2_dict['wickets_team_2'] = wickets_team_2
boundaries_2_dict['boundaries'] = boundaries_team_2
venue_dict[venue] = [runs_team_1_dict, wickets_team_1_dict, runs_team_2_dict, wickets_team_2_dict, boundaries_1_dict, boundaries_2_dict]
all_data[0]['innings'][0]['overs'][0]['deliveries'][2]['runs']['batter']
4
for key, val in venue_dict.items():
print(key, len(val[0]['runs_team1']))
Arun Jaitley Stadium 30 Barabati Stadium 7 Brabourne Stadium 27 Buffalo Park 3 De Beers Diamond Oval 3 Dr DY Patil Sports Academy 37 Dr. Y.S. Rajasekhara Reddy ACA-VDCA Cricket Stadium 15 Dubai International Cricket Stadium 46 Eden Gardens 93 Feroz Shah Kotla 60 Green Park 4 Himachal Pradesh Cricket Association Stadium 13 Holkar Cricket Stadium 9 JSCA International Stadium Complex 7 Kingsmead 15 M Chinnaswamy Stadium 79 M.Chinnaswamy Stadium 15 MA Chidambaram Stadium 85 Maharashtra Cricket Association Stadium 35 Nehru Stadium 5 New Wanderers Stadium 8 Newlands 7 OUTsurance Oval 2 Punjab Cricket Association IS Bindra Stadium 26 Rajiv Gandhi International Stadium 77 Saurashtra Cricket Association Stadium 10 Sawai Mansingh Stadium 57 Shaheed Veer Narayan Singh International Stadium 6 Sharjah Cricket Stadium 28 Sheikh Zayed Stadium 29 St George's Park 7 Subrata Roy Sahara Stadium 16 SuperSport Park 12 Wankhede Stadium 118
venue_data_list = []
for data in all_data:
venue_data_list.append(data['info']['venue'])
stadium_count_dict = {i:venue_data_list.count(i) for i in venue_data_list}
import re
all_std = {}
for key, val in stadium_count_dict.items():
stadium_name = key.split(',')[0]
values = []
for k, v in venue_dict.items():
if re.match(stadium_name, k.split(',')[0]):
values.append(v)
all_std[stadium_name] = values
len(list(venue_dict['Arun Jaitley Stadium'][0].values())[0])
30
def create_venue_df(venue_dict, stadium_name):
df = pd.DataFrame()
df['match'] = np.arange(1, len(list(venue_dict[stadium_name][0].values())[0])+1, 1)
df['runs_team1'] = list(venue_dict[stadium_name][0].values())[0]
df['runs_team2'] = list(venue_dict[stadium_name][2].values())[0]
df['wickets_team1'] = list(venue_dict[stadium_name][1].values())[0]
df['wickets_team2'] = list(venue_dict[stadium_name][3].values())[0]
df['boundaries_1'] = list(venue_dict[stadium_name][4].values())[0]
df['boundaries_2'] = list(venue_dict[stadium_name][5].values())[0]
df['team_won'] = np.nan
df['wickets_high_inni'] = np.nan
for i in range(len(df['runs_team1'])):
if df['runs_team1'].iloc[i] > df['runs_team2'].iloc[i]:
df['team_won'].iloc[i] = '1'
elif df['runs_team2'].iloc[i] > df['runs_team1'].iloc[i]:
df['team_won'].iloc[i] = '2'
else:
df['team_won'].iloc[i] = '3'
for i in range(len(df['wickets_team1'])):
if df['wickets_team1'].iloc[i] > df['wickets_team2'].iloc[i]:
df['wickets_high_inni'].iloc[i] = '1'
elif df['wickets_team2'].iloc[i] > df['wickets_team1'].iloc[i]:
df['wickets_high_inni'].iloc[i] = '2'
else:
df['wickets_high_inni'].iloc[i] = '3'
return df
#for key, values in venue_dict.items():
# arun_jaitley = create_venue_df(venue_dict, key)
#print(arun_jaitley)
arun_jaitley = create_venue_df(venue_dict, 'Arun Jaitley Stadium')
feroz_shah_kotla = create_venue_df(venue_dict, 'Feroz Shah Kotla')
arun_jaitley = pd.concat([feroz_shah_kotla, arun_jaitley], axis=0)
chidambaram_stadium = create_venue_df(venue_dict, 'MA Chidambaram Stadium')
rajiv_gandhi_stadium = create_venue_df(venue_dict, 'Rajiv Gandhi International Stadium')
chinnaswamy_stadium = create_venue_df(venue_dict, 'M Chinnaswamy Stadium')
wankhede_stadium = create_venue_df(venue_dict, 'Wankhede Stadium')
eden_gardens = create_venue_df(venue_dict, 'Eden Gardens')
sawai_mansingh = create_venue_df(venue_dict, 'Sawai Mansingh Stadium')
dubai_stadium = create_venue_df(venue_dict, 'Dubai International Cricket Stadium')
arun_jaitley.head(5)
| match | runs_team1 | runs_team2 | wickets_team1 | wickets_team2 | boundaries_1 | boundaries_2 | team_won | wickets_high_inni | |
|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 188 | 137 | 6 | 9 | 28 | 14 | 1 | 2 |
| 1 | 2 | 168 | 169 | 7 | 6 | 23 | 18 | 2 | 1 |
| 2 | 3 | 185 | 189 | 3 | 4 | 26 | 25 | 2 | 2 |
| 3 | 4 | 208 | 214 | 7 | 3 | 27 | 28 | 2 | 1 |
| 4 | 5 | 212 | 66 | 3 | 10 | 26 | 8 | 1 | 2 |
print(arun_jaitley.value_counts('team_won'))
fig = px.scatter(arun_jaitley, x='runs_team1', y='runs_team2', color='team_won',
symbol='team_won', hover_data=['boundaries_1', 'boundaries_2', 'match'])
fig.update_traces(marker_size=10)
#fig.update_layout(scattermode='group')
fig.show()
team_won 1 46 2 43 3 1 dtype: int64
print(chidambaram_stadium.value_counts('team_won'))
fig = px.scatter(chidambaram_stadium, x='runs_team1', y='runs_team2', color='team_won',
symbol='team_won', hover_data=['boundaries_1', 'boundaries_2'])
fig.update_traces(marker_size=10)
#fig.update_layout(scattermode='group')
fig.show()
team_won 1 47 2 36 3 2 dtype: int64
print(chinnaswamy_stadium.value_counts('team_won'))
fig = px.scatter(chinnaswamy_stadium, x='runs_team1', y='runs_team2', color='team_won',
symbol='team_won', hover_data=['boundaries_1', 'boundaries_2'])
fig.update_traces(marker_size=10)
#fig.update_layout(scattermode='group')
fig.show()
team_won 2 41 1 37 3 1 dtype: int64
print(sawai_mansingh.value_counts('team_won'))
fig = px.scatter(sawai_mansingh, x='runs_team1', y='runs_team2', color='team_won',
symbol='team_won', hover_data=['boundaries_1', 'boundaries_2'])
fig.update_traces(marker_size=10)
#fig.update_layout(scattermode='group')
fig.show()
team_won 2 37 1 20 dtype: int64
print(rajiv_gandhi_stadium.value_counts('team_won'))
fig = px.scatter(rajiv_gandhi_stadium, x='runs_team1', y='runs_team2', color='team_won',
symbol='team_won', hover_data=['boundaries_1', 'boundaries_2'])
fig.update_traces(marker_size=10)
#fig.update_layout(scattermode='group')
fig.show()
team_won 2 40 1 36 3 1 dtype: int64
print(eden_gardens.value_counts('team_won'))
fig = px.scatter(eden_gardens, x='runs_team1', y='runs_team2', color='team_won',
symbol='team_won', hover_data=['boundaries_1', 'boundaries_2'])
fig.update_traces(marker_size=10)
#fig.update_layout(scattermode='group')
fig.show()
team_won 2 51 1 42 dtype: int64
print(wankhede_stadium.value_counts('team_won'))
fig = px.scatter(wankhede_stadium, x='runs_team1', y='runs_team2', color='team_won',
symbol='team_won', hover_data=['boundaries_1', 'boundaries_2'],
)
fig.update_traces(marker_size=10)
#fig.update_layout(scattermode='group')
fig.show()
team_won 2 64 1 53 3 1 dtype: int64
print(dubai_stadium.value_counts('team_won'))
fig = px.scatter(dubai_stadium, x='runs_team1', y='runs_team2', color='team_won',
hover_data=['boundaries_1', 'boundaries_2'],
color_discrete_sequence=['green', 'red','blue'])
fig.update_traces(marker_size=10)
#fig.update_layout(scattermode='group')
fig.show()
team_won 2 22 1 21 3 3 dtype: int64
def all_players_stats_year_list_team(player_list, all_data_list, player_df, year_list, team_list):
'''
This function takes in player_names list, all_game_data list,
player_df, year as text which is the dataframe containing all players data
and returns their stats
'''
for index, i in enumerate(player_list):
trophies = 0
strike_rate_30 = []
man_of_match = 0
multi_wickets = 0
matches = 0
innings_batted = 0
matches_won = 0
runs_scored = 0
balls_played = 0
catches = 0
run_outs = 0
innings_bowled = 0
balls_bowled = 0
runs_given = 0
wickets_taken = 0
four_scored = 0
six_scored = 0
four_given = 0
six_given = 0
extras_for = 0
extras_against = 0
scored_above_30 = 0
team_name = 0
for j in all_data_list:
scores_of_30 = 0
m_wickets = 0
balls_above_30 = 0
for year in year_list:
if j['info']['dates'][0][:4] == year:
for team in team_list:
try:
if i in j['info']['players'][team]:
#print(i)
team_name = 1
except:
None
values = list(j['info']['players'].values())
players_list = [x for xs in values for x in xs]
if i in players_list:
matches += 1
try:
if j['info']['player_of_match'][0] == i:
man_of_match += 1
except:
None
for k in j['innings']:
batsmen = []
bowler = []
for over in k['overs']:
for delivery in over['deliveries']:
if i == delivery['batter']:
runs_scored += delivery['runs']['batter']
scores_of_30 += delivery['runs']['batter']
if i not in batsmen:
batsmen.append(i)
balls_played += 1
balls_above_30 += 1
extras_for += delivery['runs']['extras']
if delivery['runs']['batter'] == 4:
four_scored += 1
elif delivery['runs']['batter'] == 6:
six_scored += 1
elif i == delivery['bowler']:
balls_bowled += 1
if i not in bowler:
bowler.append(i)
if delivery['runs']['batter'] == 4:
four_given += 1
elif delivery['runs']['batter'] == 6:
six_given += 1
runs_given += delivery['runs']['batter']
extras_against += delivery['runs']['extras']
try:
if delivery['wickets'][0]['kind'] != 'run out':
wickets_taken += 1
m_wickets += 1
elif delivery['wickets'][0]['fielders'][0]['name'] == i:
catches += 1
elif delivery['wickets'][0]['kind'] == 'run out':
run_outs += 1
except:
None
try:
if delivery['wickets'][0]['kind'] != 'run out':
if delivery['wickets'][0]['fielders'][0]['name'] == i:
catches += 1
if delivery['wickets'][0]['kind'] == 'run out':
if delivery['wickets'][0]['fielders'][0]['name'] == i:
run_outs += 1
except:
None
if i in batsmen:
innings_batted += 1
if i in bowler:
innings_bowled += 1
if scores_of_30 >= 30:
scored_above_30 += 1
strike_rate_30.append((scores_of_30/balls_above_30) * 100)
if m_wickets >= 2:
multi_wickets += 1
try:
if i in j['info']['players'][j['info']['outcome']['winner']]:
#print(j['info']['players'][j['info']['outcome']['winner']])
#print(i)
matches_won += 1
except:
continue
try:
if j['info']['event']['stage'] == 'Final':
if i in j['info']['players'][j['info']['outcome']['winner']]:
#print(j['info']['players'][j['info']['outcome']['winner']])
#print(i)
trophies += 1
except:
continue
try:
bat_avg = runs_scored/innings_batted
except:
bat_avg = 0.
try:
strike_rate = (runs_scored/balls_played) * 100
except:
strike_rate = 0.
try:
wickets_per_inni = wickets_taken/innings_bowled
except:
wickets_per_inni = 0.
try:
bowl_avg = runs_given/wickets_taken
except:
bowl_avg = 0.
try:
bowl_sr = balls_bowled/wickets_taken
except:
bowl_sr = 0.
try:
bowl_eco = runs_given/(balls_bowled/6)
except:
bowl_eco = 0.
strike_rate_above_30 = np.mean(strike_rate_30)
try:
formula_batter = (four_scored + six_scored + bat_avg) + (scored_above_30 *
strike_rate_above_30)
except:
formula_batter = 0.
try:
formula_bowler = (wickets_taken + multi_wickets) + (wickets_taken / innings_bowled)
except:
formula_bowler = 0.
try:
formula_fielder = man_of_match + catches + run_outs
except:
formula_fielder = 0.
player_df.loc[index,:] = [i, matches, innings_batted, innings_bowled, matches_won, runs_scored,
balls_played, bat_avg, strike_rate, catches, run_outs, balls_bowled,
runs_given, wickets_taken,
wickets_per_inni, bowl_avg, bowl_sr, bowl_eco, four_scored,
six_scored, four_given, six_given, extras_for, extras_against,
scored_above_30, strike_rate_above_30, multi_wickets, team_name, man_of_match,
trophies, formula_batter, formula_bowler, formula_fielder]
return player_df
all_cols = ['player_name', 'matches_played', 'innings_batted', 'innings_bowled', 'matches_won', 'runs_scored',
'balls_played', 'batting_avg', 'batting_strike_rate', 'catches', 'run_outs', 'balls_bowled', 'runs_given',
'wickets_taken', 'wickets_per_innings', 'bowling_avg', 'bowling_strike_rate', 'bowling_eco',
'four_scored', 'six_scored', 'four_given', 'six_given', 'extras_for', 'extras_against', 'scores_above_30',
'strike_rate_30', 'multi_wickets', 'team_y_n', 'man_of_match', 'trophies', 'formula_batter', 'formula_bowler', 'formula_fielder']
all_players_year_df = pd.DataFrame(columns=all_cols)
rcb_08 = all_players_stats_year_list_team(all_players, all_data, all_players_year_df, ['2008'], ['Royal Challengers Bangalore'])
all_players_year_df = pd.DataFrame(columns=all_cols)
rcb_09 = all_players_stats_year_list_team(all_players, all_data, all_players_year_df, ['2009'], ['Royal Challengers Bangalore'])
all_players_year_df = pd.DataFrame(columns=all_cols)
rcb_10 = all_players_stats_year_list_team(all_players, all_data, all_players_year_df, ['2010'], ['Royal Challengers Bangalore'])
all_players_year_df = pd.DataFrame(columns=all_cols)
rcb_11 = all_players_stats_year_list_team(all_players, all_data, all_players_year_df, ['2011'], ['Royal Challengers Bangalore'])
all_players_year_df = pd.DataFrame(columns=all_cols)
rcb_12 = all_players_stats_year_list_team(all_players, all_data, all_players_year_df, ['2012'], ['Royal Challengers Bangalore'])
all_players_year_df = pd.DataFrame(columns=all_cols)
rcb_13 = all_players_stats_year_list_team(all_players, all_data, all_players_year_df, ['2013'], ['Royal Challengers Bangalore'])
all_players_year_df = pd.DataFrame(columns=all_cols)
rcb_14 = all_players_stats_year_list_team(all_players, all_data, all_players_year_df, ['2014'], ['Royal Challengers Bangalore'])
all_players_year_df = pd.DataFrame(columns=all_cols)
rcb_15 = all_players_stats_year_list_team(all_players, all_data, all_players_year_df, ['2015'], ['Royal Challengers Bangalore'])
all_players_year_df = pd.DataFrame(columns=all_cols)
rcb_16 = all_players_stats_year_list_team(all_players, all_data, all_players_year_df, ['2016'], ['Royal Challengers Bangalore'])
all_players_year_df = pd.DataFrame(columns=all_cols)
rcb_17 = all_players_stats_year_list_team(all_players, all_data, all_players_year_df, ['2017'], ['Royal Challengers Bangalore'])
all_players_year_df = pd.DataFrame(columns=all_cols)
rcb_18 = all_players_stats_year_list_team(all_players, all_data, all_players_year_df, ['2018'], ['Royal Challengers Bangalore'])
all_players_year_df = pd.DataFrame(columns=all_cols)
rcb_19 = all_players_stats_year_list_team(all_players, all_data, all_players_year_df, ['2019'], ['Royal Challengers Bangalore'])
all_players_year_df = pd.DataFrame(columns=all_cols)
rcb_20 = all_players_stats_year_list_team(all_players, all_data, all_players_year_df, ['2020'], ['Royal Challengers Bangalore'])
all_players_year_df = pd.DataFrame(columns=all_cols)
rcb_21 = all_players_stats_year_list_team(all_players, all_data, all_players_year_df, ['2021'], ['Royal Challengers Bangalore'])
all_players_year_df = pd.DataFrame(columns=all_cols)
rcb_22 = all_players_stats_year_list_team(all_players, all_data, all_players_year_df, ['2022'], ['Royal Challengers Bangalore'])
all_players_year_df = pd.DataFrame(columns=all_cols)
rcb_23 = all_players_stats_year_list_team(all_players, all_data, all_players_year_df, ['2023'], ['Royal Challengers Bangalore'])
all_players_year_df = pd.DataFrame(columns=all_cols)
rcb_24 = all_players_stats_year_list_team(all_players, all_data, all_players_year_df, ['2024'], ['Royal Challengers Bangalore'])
formula_scatterplot(rcb_08, 'formula_batter', 'team_y_n',
'scores_above_30', 'runs_scored', 'strike_rate_30',
'six_scored', 'matches_played', ['player_name', 'innings_batted', 'batting_strike_rate', 'runs_scored', 'scores_above_30'])
all_players_year_df = pd.DataFrame(columns=all_cols)
rr_08 = all_players_stats_year_list_team(all_players, all_data, all_players_year_df, ['2008'], ['Rajasthan Royals'])
formula_scatterplot(rr_08, 'formula_batter', 'team_y_n',
'scores_above_30', 'runs_scored', 'strike_rate_30',
'six_scored', 'matches_played', ['player_name', 'innings_batted', 'batting_strike_rate', 'runs_scored', 'scores_above_30'])
formula_scatterplot(rcb_08, 'formula_bowler', 'team_y_n',
'bowling_eco', 'wickets_taken', 'six_given',
'multi_wickets', 'matches_played', ['player_name', 'innings_bowled', 'bowling_eco',
'wickets_taken'])
formula_scatterplot(rr_08, 'formula_bowler', 'team_y_n',
'bowling_eco', 'wickets_taken', 'six_given',
'multi_wickets', 'matches_played', ['player_name', 'innings_bowled', 'bowling_eco',
'wickets_taken'])
formula_scatterplot(rcb_09, 'formula_batter', 'team_y_n',
'scores_above_30', 'runs_scored', 'strike_rate_30',
'six_scored', 'matches_played', ['player_name', 'innings_batted', 'batting_strike_rate', 'runs_scored', 'scores_above_30'])
all_players_year_df = pd.DataFrame(columns=all_cols)
srh_09 = all_players_stats_year_list_team(all_players, all_data, all_players_year_df, ['2009'], ['Deccan Chargers'])
formula_scatterplot(srh_09, 'formula_batter', 'team_y_n',
'scores_above_30', 'runs_scored', 'strike_rate_30',
'six_scored', 'matches_played', ['player_name', 'innings_batted', 'batting_strike_rate', 'runs_scored', 'scores_above_30'])
formula_scatterplot(rcb_09, 'formula_bowler', 'team_y_n',
'bowling_eco', 'wickets_taken', 'six_given',
'multi_wickets', 'matches_played', ['player_name', 'innings_bowled', 'bowling_eco',
'wickets_taken'])
formula_scatterplot(srh_09, 'formula_bowler', 'team_y_n',
'bowling_eco', 'wickets_taken', 'six_given',
'multi_wickets', 'matches_played', ['player_name', 'innings_bowled', 'bowling_eco',
'wickets_taken'])
formula_scatterplot(rcb_10, 'formula_batter', 'team_y_n',
'scores_above_30', 'runs_scored', 'strike_rate_30',
'six_scored', 'matches_played', ['player_name', 'innings_batted', 'batting_strike_rate', 'runs_scored', 'scores_above_30'])
all_players_year_df = pd.DataFrame(columns=all_cols)
csk_10 = all_players_stats_year_list_team(all_players, all_data, all_players_year_df, ['2010'], ['Chennai Super Kings'])
formula_scatterplot(csk_10, 'formula_batter', 'team_y_n',
'scores_above_30', 'runs_scored', 'strike_rate_30',
'six_scored', 'matches_played', ['player_name', 'innings_batted', 'batting_strike_rate', 'runs_scored', 'scores_above_30'])
formula_scatterplot(rcb_10, 'formula_bowler', 'team_y_n',
'bowling_eco', 'wickets_taken', 'six_given',
'multi_wickets', 'matches_played', ['player_name', 'innings_bowled', 'bowling_eco',
'wickets_taken'])
formula_scatterplot(csk_10, 'formula_bowler', 'team_y_n',
'bowling_eco', 'wickets_taken', 'six_given',
'multi_wickets', 'matches_played', ['player_name', 'innings_bowled', 'bowling_eco',
'wickets_taken'])
formula_scatterplot(rcb_14, 'formula_batter', 'team_y_n',
'scores_above_30', 'runs_scored', 'strike_rate_30',
'six_scored', 'matches_played', ['player_name', 'innings_batted', 'batting_strike_rate', 'runs_scored', 'scores_above_30'])
all_players_year_df = pd.DataFrame(columns=all_cols)
kkr_14 = all_players_stats_year_list_team(all_players, all_data, all_players_year_df, ['2014'], ['Kolkata Knight Riders'])
formula_scatterplot(kkr_14, 'formula_batter', 'team_y_n',
'scores_above_30', 'runs_scored', 'strike_rate_30',
'six_scored', 'matches_played', ['player_name', 'innings_batted', 'batting_strike_rate', 'runs_scored', 'scores_above_30'])
formula_scatterplot(rcb_14, 'formula_bowler', 'team_y_n',
'bowling_eco', 'wickets_taken', 'six_given',
'multi_wickets', 'matches_played', ['player_name', 'innings_bowled', 'bowling_eco',
'wickets_taken'])
formula_scatterplot(kkr_14, 'formula_bowler', 'team_y_n',
'bowling_eco', 'wickets_taken', 'six_given',
'multi_wickets', 'matches_played', ['player_name', 'innings_bowled', 'bowling_eco',
'wickets_taken'])
formula_scatterplot(rcb_15, 'formula_batter', 'team_y_n',
'scores_above_30', 'runs_scored', 'strike_rate_30',
'six_scored', 'matches_played', ['player_name', 'innings_batted', 'batting_strike_rate', 'runs_scored', 'scores_above_30'])
all_players_year_df = pd.DataFrame(columns=all_cols)
mi_15 = all_players_stats_year_list_team(all_players, all_data, all_players_year_df, ['2015'], ['Mumbai Indians'])
formula_scatterplot(mi_15, 'formula_batter', 'team_y_n',
'scores_above_30', 'runs_scored', 'strike_rate_30',
'six_scored', 'matches_played', ['player_name', 'innings_batted', 'batting_strike_rate', 'runs_scored', 'scores_above_30'])
formula_scatterplot(rcb_15, 'formula_bowler', 'team_y_n',
'bowling_eco', 'wickets_taken', 'six_given',
'multi_wickets', 'matches_played', ['player_name', 'innings_bowled', 'bowling_eco',
'wickets_taken'])
formula_scatterplot(mi_15, 'formula_bowler', 'team_y_n',
'bowling_eco', 'wickets_taken', 'six_given',
'multi_wickets', 'matches_played', ['player_name', 'innings_bowled', 'bowling_eco',
'wickets_taken'])
formula_scatterplot(rcb_16, 'formula_batter', 'team_y_n',
'scores_above_30', 'runs_scored', 'strike_rate_30',
'six_scored', 'matches_played', ['player_name', 'innings_batted', 'batting_strike_rate', 'runs_scored', 'scores_above_30'])
all_players_year_df = pd.DataFrame(columns=all_cols)
srh_16 = all_players_stats_year_list_team(all_players, all_data, all_players_year_df, ['2016'], ['Sunrisers Hyderabad'])
formula_scatterplot(srh_16, 'formula_batter', 'team_y_n',
'scores_above_30', 'runs_scored', 'strike_rate_30',
'six_scored', 'matches_played', ['player_name', 'innings_batted', 'batting_strike_rate', 'runs_scored', 'scores_above_30'])
formula_scatterplot(rcb_16, 'formula_bowler', 'team_y_n',
'bowling_eco', 'wickets_taken', 'six_given',
'multi_wickets', 'matches_played', ['player_name', 'innings_bowled', 'bowling_eco',
'wickets_taken'])
formula_scatterplot(srh_16, 'formula_bowler', 'team_y_n',
'bowling_eco', 'wickets_taken', 'six_given',
'multi_wickets', 'matches_played', ['player_name', 'innings_bowled', 'bowling_eco',
'wickets_taken'])
formula_scatterplot(rcb_20, 'formula_batter', 'team_y_n',
'scores_above_30', 'runs_scored', 'strike_rate_30',
'six_scored', 'matches_played', ['player_name', 'innings_batted', 'batting_strike_rate', 'runs_scored', 'scores_above_30'])
all_players_year_df = pd.DataFrame(columns=all_cols)
mi_20 = all_players_stats_year_list_team(all_players, all_data, all_players_year_df, ['2020'], ['Mumbai Indians'])
formula_scatterplot(mi_20, 'formula_batter', 'team_y_n',
'scores_above_30', 'runs_scored', 'strike_rate_30',
'six_scored', 'matches_played', ['player_name', 'innings_batted', 'batting_strike_rate', 'runs_scored', 'scores_above_30'])
formula_scatterplot(rcb_20, 'formula_bowler', 'team_y_n',
'bowling_eco', 'wickets_taken', 'six_given',
'multi_wickets', 'matches_played', ['player_name', 'innings_bowled', 'bowling_eco',
'wickets_taken'])
formula_scatterplot(mi_20, 'formula_bowler', 'team_y_n',
'bowling_eco', 'wickets_taken', 'six_given',
'multi_wickets', 'matches_played', ['player_name', 'innings_bowled', 'bowling_eco',
'wickets_taken'])
formula_scatterplot(rcb_21, 'formula_batter', 'team_y_n',
'scores_above_30', 'runs_scored', 'strike_rate_30',
'six_scored', 'matches_played', ['player_name', 'innings_batted', 'batting_strike_rate', 'runs_scored', 'scores_above_30'])
all_players_year_df = pd.DataFrame(columns=all_cols)
csk_21 = all_players_stats_year_list_team(all_players, all_data, all_players_year_df, ['2021'], ['Chennai Super Kings'])
formula_scatterplot(csk_21, 'formula_batter', 'team_y_n',
'scores_above_30', 'runs_scored', 'strike_rate_30',
'six_scored', 'matches_played', ['player_name', 'innings_batted', 'batting_strike_rate', 'runs_scored', 'scores_above_30'])
formula_scatterplot(rcb_21, 'formula_bowler', 'team_y_n',
'bowling_eco', 'wickets_taken', 'six_given',
'multi_wickets', 'matches_played', ['player_name', 'innings_bowled', 'bowling_eco',
'wickets_taken'])
formula_scatterplot(csk_21, 'formula_bowler', 'team_y_n',
'bowling_eco', 'wickets_taken', 'six_given',
'multi_wickets', 'matches_played', ['player_name', 'innings_bowled', 'bowling_eco',
'wickets_taken'])
formula_scatterplot(rcb_22, 'formula_batter', 'team_y_n',
'scores_above_30', 'runs_scored', 'strike_rate_30',
'six_scored', 'matches_played', ['player_name', 'innings_batted', 'batting_strike_rate', 'runs_scored', 'scores_above_30'])
all_players_year_df = pd.DataFrame(columns=all_cols)
gt_22 = all_players_stats_year_list_team(all_players, all_data, all_players_year_df, ['2022'], ['Gujarat Titans'])
formula_scatterplot(gt_22, 'formula_batter', 'team_y_n',
'scores_above_30', 'runs_scored', 'strike_rate_30',
'six_scored', 'matches_played', ['player_name', 'innings_batted', 'batting_strike_rate', 'runs_scored', 'scores_above_30'])
formula_scatterplot(rcb_22, 'formula_bowler', 'team_y_n',
'bowling_eco', 'wickets_taken', 'six_given',
'multi_wickets', 'matches_played', ['player_name', 'innings_bowled', 'bowling_eco',
'wickets_taken'])
formula_scatterplot(gt_22, 'formula_bowler', 'team_y_n',
'bowling_eco', 'wickets_taken', 'six_given',
'multi_wickets', 'matches_played', ['player_name', 'innings_bowled', 'bowling_eco',
'wickets_taken'])